草庐IT

PHP 按位枚举

全部标签

c# - 任何人都知道一种快速获取枚举值自定义属性的方法吗?

这可能最好用一个例子来说明。我有一个带有属性的枚举:publicenumMyEnum{[CustomInfo("Thisisacustomattrib")]None=0,[CustomInfo("Thisisanotherattrib")]ValueA,[CustomInfo("Thishasanextraflag",AllowSomething=true)]ValueB,}我想从实例中获取这些属性:publicCustomInfoAttributeGetInfo(MyEnumenumInput){TypetypeOfEnum=enumInput.GetType();//thiswil

c# - 我如何在类型安全的枚举模式上使用 switch 语句

我以不同的方式找到了一个关于实现枚举的漂亮示例。我认为这就是所谓的类型安全枚举模式。我开始使用它,但我意识到我不能在switch语句中使用它。我的实现如下所示:publicsealedclassMyState{privatereadonlystringm_Name;privatereadonlyintm_Value;publicstaticreadonlyMyStatePASSED=newMyState(1,"OK");publicstaticreadonlyMyStateFAILED=newMyState(2,"ERROR");privateMyState(intvalue,stri

c# - 在 C# 中使用枚举索引数组

我有很多固定大小的数字集合,其中每个条目都可以用常量访问。自然这似乎指向数组和枚举:enumStatType{Foo=0,Bar//...}float[]stats=newfloat[...];stats[StatType.Foo]=1.23f;这个问题当然是你不能使用枚举来索引一个数组而不进行强制转换(尽管编译后的IL使用的是纯整数)。所以你必须到处写:stats[(int)StatType.foo]=1.23f;我曾尝试寻找无需强制转换即可使用相同简单语法的方法,但尚未找到完美的解决方案。使用字典似乎是不可能的,因为我发现它比数组慢320倍左右。我还尝试为以枚举作为索引的数组编写一

c# - SQL 表和 C# 枚举

假设我的应用程序中有n类用户。我正在使用UserType枚举来区分它们。我是否需要在我的数据库中保留一个名为UserType的表?这样我就可以随时通过查询表而不是搜索应用程序源代码来找到用户类型。这样做我的源代码可能会变得有些复杂。我应该承认这种权衡吗? 最佳答案 是的,同时使用:UserType查找表和枚举为了理解数据结构,我们确实创建了具有定义类型的查找表,即使它们永远不会改变。通过这种方式,您还可以通过将表与此查找相关联来保持参照完整性。自动化您的枚举通过usingT4templates您可以轻松地自动化您的业务层代码以反射(

c# - 测试按位枚举值

我以前没有真正使用过按位枚举,我只是想确保我的测试是正确的。我最感兴趣的是测试值None和All。我们从使用此枚举对某些数据片段进行分类的Web服务接收数据。鉴于此,我假设None和All都不会与任何其他值组合。给定以下按位枚举定义;[System.FlagsAttribute()]publicenumTrainingComponentTypes:int{None=0,AccreditedCourse=1,Qualification=2,Unit=4,SkillSet=8,UnitContextualisation=16,TrainingPackage=32,AccreditedCou

c# - 在 WCF 数据服务中使用枚举

我正在尝试使用POCO数据模型手动构建WCF数据服务,但我不知道如何正确公开enum值。假设一个简单的模型如下:publicclassOrder{publicintID{get;set;}publicstringDescription{get;set;}publicOrderStatusStatus{get;set;}}publicenumOrderStatus{New,InProcess,Complete}如何通过ODataWCF数据服务公开OrderStatus属性中的有值(value)信息?如果您什么都不做,数据服务会生成运行时错误(枚举是无效属性)。我看到的至少解决错误的唯一答

c# - 如何使用 json.net 将枚举序列化为不同的属性名称

我有以下枚举publicenumPermissionType{[JsonProperty(PropertyName="can_fly")]PermissionToFly,[JsonProperty(PropertyName="can_swim")]PermissionToSwim};和一个具有这个属性的类[JsonProperty(PropertyName="permissions",ItemConverterType=typeof(StringEnumConverter))]publicIListPermissionKeynames{get;set;}`我想将枚举列表序列化为字符串列

c# - 根据 XmlEnumAttribute 名称值检索枚举值

我需要一个通用函数来根据枚举的XmlEnumAttribute“名称”属性检索枚举的名称或值。例如,我定义了以下枚举:PublicEnumCurrencyCDN=1USA=2EUR=3JPN=4EndEnum第一个Currency枚举值为1;枚举名称是“CDN”;XMLEnumAttributeName属性值为“00”。如果我有枚举值,我可以使用以下通用函数检索XmlEnumAttribute“名称”值:PublicFunctionGetXmlAttrNameFromEnumValue(OfT)(ByValpEnumValAsT)AsStringDimtypeAsType=pEnumV

javascript - javascript中字符串的按位运算

在javascript中,以下字符到字符二进制操作的测试打印0676次:vars='abcdefghijklmnopqrstuvwxyz';vari,j;for(i=0;i如果js使用字符串的实际二进制表示,我希望这里有一些非零值。类似地,测试字符串和整数的二进制操作,下面分别打印26个255和0。(选择255是因为它在二进制中是11111111)。vars='abcdefghijklmnopqrstuvwxyz';vari;for(i=0;ijavascript在这里做什么?似乎javascript在二进制操作之前将任何字符串转换为false。注意事项如果你在python中尝试这个,

javascript - 在 javascript 中是否有类似 PHP 的 preg_replace_callback() 的东西?

我想做的是str.replace(pattern,callback),不仅仅是str.replace(pattern,replace_pattern),可以用javascript实现吗? 最佳答案 为什么,是的,您完全可以这样做:str.replace(pattern,function(){...})。这是一些文档:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/replace#specifying_a_f